GO
1. 常见压缩包后缀名及对应工具
后缀名 | 所使用的压缩工具 |
---|---|
.gz | gzip |
.bz2 | bzip2 |
.zip | zip |
.rar | rar |
.tar | tar打包程序打包的文件 |
.tar.gz | 先由tar打包,再由gzip压缩 |
.tar.bz2 | 先由tar打包,再由bzip2压缩 |
.tar.xz | 先由tar打包,再由xz压缩 |
2. 常用压缩工具
2.1. gzip
格式 gzip [-d#] filename(其中#为1~9的数字)
选项 | 说明 |
---|---|
-d | 解压 |
-# | 设定压缩等级 1为最差,9为最好,6为默认 |
说明:
- gzip后面直接跟文件名,表示在当前目录下压缩该文件,而源文件也会消失。
gzip -d \*.gz
命令gzip -d
后面跟压缩文件表示解压缩该压缩文件。解压后源文件会消失。gunzip filename.gz
解压文件为源文件,不保留压缩文件- gzip 不支持压缩目录,压缩目录时会报错。
- 关于
-#
选项,平时很少用到,使用默认压缩级别就够了。
2.2. bzip2
格式 bzip2 [-dz] filename
选项 | 说明 |
---|---|
-z | 压缩 不加该选项也是表示压缩文件 |
-d | 解压缩 |
说明:
- 该命令只有-z和-d两个常用选项。
- 压缩或解压后源文件会消失。
- 它的压缩级别有1~9,默认级别是9。
- bzip2 不可以压缩目录,压缩目录会报错。
2.3. xz
格式 xz [-dz] filename
选项 | 说明 |
---|---|
-z | 压缩 不加该选项也是表示压缩文件 |
-d | 解压缩 |
说明:
- 该命令常用的只有-z和-d两个常用选项。
- 压缩或解压后源文件会消失。
- xz 不可以压缩目录,压缩目录会报错。
2.4. zip 和 unzip
zip 压缩包非常常见,在Linux里,zip可以压缩目录和文件。压缩目录时,需要指定目录下的文件。
格式:
zip filename.zip filename
把文件filename压缩为filename.zip,且保存源文件filenamezip -r dir.zip dir
把目录dir压缩为dir.zip,原目录保存(注意,若是目录中有软连接会把链接的原文件也压缩)
示例如下:12345678# zip test.txt.zip test.txt adding: test.txt (deflated 63%) zip test.zip test/* adding: test/1 (stored 0%) adding: test/2 (stored 0%) adding: test/3 (stored 0%) adding: test/test.txt (deflated 63%) adding: test/test.txt.zip (stored 0%)
说明:
- zip后面先跟目标文件名,即压缩后的自定义压缩包名,然后跟要压缩的文件或目录。
- 若CentOS没有这个命令,要安装一下:
yum install -y zip unzip
- 当目录下还有二级目录甚至更多级目录是,zip命令仅仅是把二级目录本身压缩而已。如果想要一并压缩二级下的目录,必须加上-r选项,这样就不用加/*了。如下所示:1234567891011# zip -r tests.zip test/adding: test/ (stored 0%)adding: test/test.txt (deflated 63%)adding: test/test.txt.zip (stored 0%)adding: test/1 (stored 0%)adding: test/2 (stored 0%)adding: test/3 (stored 0%)adding: test/4/ (stored 0%)adding: test/4/5 (stored 0%)adding: test/4/6 (stored 0%)adding: test/4/7 (stored 0%)
unzip 是用于解压缩.zip格式文件的,unzip 1.txt.zip
解压file.zip文件到当前目录下,且原压缩文件file.zip不会消失。
选项 | 说明 |
---|---|
-l | 可查看文件的清单 |
-d dir | 解压到指定目录下 |
2.5. 查看压缩文件的命令
命令 | 作用 |
---|---|
zcat | 查看gzip压缩的文件的内容 |
bzcat | 查看bzip2压缩的文件内容 |
2.6. tar
tar 是一个打包工具,可以把目录打包成一个文件,它把所有文件整合成一个大文件,方便复制或者移动。
格式 tar [-zjxcvfpP] filename.tar 要打包的文件1 要打包的文件2 ……
常用选项 | 选项说明 |
---|---|
-z | 同时用gzip压缩 |
-j | 同时用bzip2压缩 |
-J | 同时用xz压缩 |
-x | 解包或解压缩 |
-t | 查看tar包里的文件 |
-c | 建立一个tar包或者压缩文件包 |
-v | 可视化 |
-f filename | 表示压缩后的文件名为filename,或者解压文件filename 需要注意的是,如果是多个参数组合的情况,要把-f选项写到最后面) |
-C dir | 在解压解包时使用,解压到指定目录下 |
-u newfile | 在之前的包的基础上更新新的文件到包里 |
-p小写 | 使用源文件的属性,压缩前什么属性压缩后还是什么属性(不常用) |
-P大写 | 可以使用绝对路径(不常用) |
–exclude filename | 在打包或压缩时,不要将filename文件包括在内。支持通配符。 如:--exclude "*.sh" 将*.sh文件过滤掉不打包(不常用)(不常用) |
一些常用的例子:
- 打包 :
tar -cvf test.tar test1 test2
- 解包 :
tar -xvf test.tar
- 打包时排除 :
tar -cvf test.tar --exclude 1.txt test3
- 查看包或压缩包的文件列表 :
tar -tf test.tar或test.tar.gz等
- 打包的同时使用gzip压缩
- 打包压缩:
tar -zcvf test.tar.gz test
- 解包解压缩:
tar -zxvf test.tar.gz
- 打包压缩:
- 打包的同时使用bzip2压缩
- 打包压缩:
tar -jcvf test.tar.bz2 test
- 解包解压缩:
tar -jxvf test.tar.bz2
- 打包压缩:
- 打包的同时使用xz压缩
- 打包压缩:
tar -Jcvf test.tar.xz test
- 解包解压缩:
tar -Jxvf test.tar.xz
- 打包压缩:
OK